package com.yihuan.mapper;

import com.yihuan.entity.RecycleProductEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Author:梦醒
 * Date: 2022/4/21 9:04
 * Dream:
 * 信言不美，美言不信。
 * 善者不辩，辩者不善。
 * 知者不博，博者不知。
 * Function:
 */
@Mapper
public interface RecycleProductMapper {
    /**
     * 分页查询数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findRecycleProductByRecycleProductList(RecycleProductEntity recycleProductEntity);
    
    /**
     * 统计分页查询数据
     *
     * @return
     */
    int countRecycleProductList(RecycleProductEntity recycleProductEntity);
    
    /**
     * 模糊分页查询数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findRecycleProductByRecycleProductConcatList(RecycleProductEntity recycleProductEntity);
    
    /**
     * 模糊统计分页查询数据
     *
     * @param recycleProductEntity
     * @return
     */
    int countRecycleProductConcatList(RecycleProductEntity recycleProductEntity);
    
    /**
     * 更改商品信息状态
     *
     * @param recycleProductEntity
     * @return
     */
    int updateRecycleProductByRecProductState(RecycleProductEntity recycleProductEntity);
    
    /**
     * 删除商品信息状态
     *
     * @param recycleProductEntity
     * @return
     */
    int updateRecycleProductByRecProductDeleteState(RecycleProductEntity recycleProductEntity);
    
    /**
     * 查询回收品信息名称 按商品编号
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findRecycleProductByRecProductID(RecycleProductEntity recycleProductEntity);
    
    /**
     * 更改商品信息
     *
     * @param recycleProductEntity
     * @return
     */
    int updateRecycleProductByRecProductData(RecycleProductEntity recycleProductEntity);
    
    /**
     * 模糊统计分页查询数据
     *
     * @param recycleProductEntity
     * @return
     */
    int insertRecycleProductByRecycleProductData(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端分页查询数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductList(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端统计分页查询数据
     *
     * @return
     */
    int countWebRecycleProductList();
    
    /**
     * web商品详情页面
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecProductID(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端分页查询数据按类型查询
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductListByRecStyle(RecycleProductEntity recycleProductEntity);
    
    
    /**
     * 前端分页查询数据 按商品类型数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductListAndRecStyle(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端统计分页查询数据 按商品类型数据
     *
     * @param recycleProductEntity
     * @return
     */
    int countWebRecycleProductListAndRecStyle(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端分页查询数据 按公司地址数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductListAndCompanyAddress(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端统计分页查询数据 按公司地址数据
     *
     * @param recycleProductEntity
     * @return
     */
    int countWebRecycleProductListAndCompanyAddress(RecycleProductEntity recycleProductEntity);
    
    /**
     * 按月份统计数据
     *
     * @param
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductCount();
    
    /**
     * 前端分页查询数据 按月份数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductListAndMonth(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端统计分页查询数据 按月份数据
     *
     * @param recycleProductEntity
     * @return
     */
    int countWebRecycleProductListAndMonth(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端分页查询数据 按公司名称数据
     *
     * @param recycleProductEntity
     * @return
     */
    List<RecycleProductEntity> findWebRecycleProductByRecycleProductListAndCompanyName(RecycleProductEntity recycleProductEntity);
    
    /**
     * 前端统计分页查询数据 按公司名称数据
     *
     * @param recycleProductEntity
     * @return
     */
    int countWebRecycleProductListAndCompanyName(RecycleProductEntity recycleProductEntity);
    
    /**
     * 统计废品数据
     *
     * @param
     * @return
     */
    int countRecycle();
    
}
